View Javadoc

1   package uba.db;
2   
3   import uba.db.table.TableSchema;
4   
5   /***
6    * Excepción generada cuando no se puede crear una tabla.
7    * 
8    * @version $Revision: 1.3 $
9    */
10  public class TableCreationException extends Exception {
11      private static final long serialVersionUID = 3257001038690071862L;
12      private TableSchema tableSchema;
13      private transient Database database;
14  
15      /***
16       * Crea una nueva instancia de la excepción indicando la base de datos y el
17       * esquema de la tabla para el cual fallo la creación.
18       * 
19       * @param database
20       *            base de datos
21       * @param tableSchema
22       *            esquema de la tabla.
23       * @param cause
24       *            excepción que causo el error
25       */
26      public TableCreationException(Database database, TableSchema tableSchema,
27              Throwable cause) {
28          super(cause);
29          this.tableSchema = tableSchema;
30          this.database = database;
31      }
32  
33      /***
34       * Retorna el esquema de tabla para el cual fallo la creación.
35       */
36      public TableSchema tableSchema() {
37          return tableSchema;
38      }
39      
40      /***
41       * Retorna la base de datos donde ocurrió el error.
42       * 
43       * @return las excepciones son serializables, pero una base de datos no, por
44       *         eso este método puede llegar a retorna <i>null</i>.
45       */
46      public Database database() {
47          return database;
48      }
49      
50      /***
51       * @see java.lang.Throwable#getMessage()
52       */
53      public String getMessage() {
54          return "Ocurrió un error al crear la tabla " + tableSchema().tableName();
55      }
56  }